export const dom = {};

export function initDom() {
    Object.assign(dom, {
        themeToggleBtn: document.getElementById('theme-toggle-btn'),
        densityToggleBtn: document.getElementById('density-toggle-btn'),
        clearSchemaBtn: document.getElementById('clearSchemaBtn'),
        collapseAllBtn: document.getElementById('collapseAllBtn'),
        expandAllBtn: document.getElementById('expandAllBtn'),
        undoBtn: document.getElementById('undoBtn'),
        redoBtn: document.getElementById('redoBtn'),
        schemaTabsContainer: document.getElementById('schemaTabsContainer'),
        schemaTitle: document.getElementById('schemaTitle'),
        schemaTitleLabel: document.getElementById('schemaTitleLabel'),
        schemaDescription: document.getElementById('schemaDescription'),
        includeSchemaToggle: document.getElementById('includeSchemaToggle'),
        schemaPropertyToggleContainer: document.getElementById('schemaPropertyToggleContainer'),
        rootObjectControlsContainer: document.getElementById('rootObjectControlsContainer'),
        rootAdditionalPropertiesType: document.getElementById('rootAdditionalPropertiesType'),
        rootAdditionalPropertiesSchemaContainer: document.getElementById('rootAdditionalPropertiesSchemaContainer'),
        rootMinProperties: document.getElementById('rootMinProperties'),
        rootMaxProperties: document.getElementById('rootMaxProperties'),
        rootSchemaTypeSelector: document.getElementById('rootSchemaTypeSelector'),
        rootSchemaDefinitionContainer: document.getElementById('rootSchemaDefinitionContainer'),
        rootSchemaHeading: document.getElementById('rootSchemaHeading'),
        importRootPropertiesBtn: document.getElementById('importRootPropertiesBtn'),
        rootActionControls: document.getElementById('rootActionControls'),
        schemaBuilderRoot: document.getElementById('schemaBuilderRoot'),
        rootConditionalContainer: document.getElementById('rootConditionalContainer'),
        definitionsBuilderRoot: document.getElementById('definitionsBuilderRoot'),
        addDefinitionBtn: document.getElementById('addDefinitionBtn'),
        schemaOutputContainer: document.getElementById('schema-output-container'),
        schemaOutput: document.getElementById('schemaOutput'),
        copySchemaBtn: document.getElementById('copySchemaBtn'),
        importBtn: document.getElementById('importBtn'),
        pydanticBtn: document.getElementById('pydanticBtn'),
        exportBtn: document.getElementById('exportBtn'),
        importModal: document.getElementById('importModal'),
        importModalContent: document.getElementById('importModalContent'),
        importModalTitle: document.getElementById('importModalTitle'),
        importModalDescription: document.getElementById('importModalDescription'),
        closeImportModalBtn: document.getElementById('closeImportModalBtn'),
        importSchemaText: document.getElementById('importSchemaText'),
        importFileInput: document.getElementById('importFileInput'),
        importFileBtn: document.getElementById('importFileBtn'),
        parseSchemaBtn: document.getElementById('parseSchemaBtn'),
        pydanticModal: document.getElementById('pydanticModal'),
        pydanticModalContent: document.getElementById('pydanticModalContent'),
        closePydanticModalBtn: document.getElementById('closePydanticModalBtn'),
        pydanticModalTabs: document.getElementById('pydanticModalTabs'),
        pydanticToPydanticTab: document.getElementById('pydanticToPydanticTab'),
        pydanticFromPydanticTab: document.getElementById('pydanticFromPydanticTab'),
        pydanticOutput: document.getElementById('pydanticOutput'),
        pydanticLoader: document.getElementById('pydanticLoader'),
        pydanticLoaderText: document.getElementById('pydanticLoaderText'),
        copyPydanticBtn: document.getElementById('copyPydanticBtn'),
        pydanticInput: document.getElementById('pydanticInput'),
        parsePydanticBtn: document.getElementById('parsePydanticBtn'),
        toastContainer: document.getElementById('toastContainer'),
        leftPanel: document.getElementById('left-panel'),
        leftPanelScroller: document.getElementById('left-panel-scroller'),
        rightPanel: document.getElementById('right-panel'),
        resizer: document.getElementById('resizer'),
        mainContainer: document.getElementById('main-container'),
        appRoot: document.getElementById('app-root'),
    });
}
